热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

个体都会学习的JavaScript之DOM树

篇首语:本文由编程笔记#小编为大家整理,主要介绍了JavaScript之DOM树相关的知识,希望对你有一定的参考价值。目录

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Javascript之DOM树相关的知识,希望对你有一定的参考价值。


目录

一 API

二 什么是DOM树

三 DOM接口

四 总结




在了解DOM树之前,你首先要了解什么是API


一 API

1 什么是API

API基于编程语言构建的结构,是一些预定义的函数,它抽象了复杂的代码,使开发人员能更轻松的完成某种想要的功能。

2 API能做什么?

(1) 常见浏览器API:

操作文档API

操作文档的API内置于浏览器中。最明显的就是DOM(文档对象模型)API,它允许操作html、CSS,创建、删除、修改HTML,动态地将新样式应用到所制作的页面当中。再或者使页面中弹出的窗口等都是DOM

从服务器获取数据的API

用于绘制和操作图形的API等等

(2) 常见的第三方API

The Twitter API

The Google Maps API

(3)说白了,API就类似于Bootstrap框架等一众框架,已经给你写好了用途,你只要学习如何使用这些写好了的东西,就可以了


二 什么是DOM树

1 此刻先摆上定义:

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐处理可扩展标记语言(HTML或者XML)的标准编程接口。

W3C已经定义了一系列的DOM接口,通过这些DOM接口可以改变网页的内容、结构、样式。

说到这里,你也许只能看懂这一大串文字的最后一小句的一小部分吧。哦,DOM是用来改变网页的内容、结构、样式的。

那到底什么是标准编程接口?什么是DOM呢?

2 什么是DOM

文档对象模型(DOM)是HTML和XML文档的编程接口。它使得整个文档得以结构化的表现,并且定义了一种方式可以使从程序中对该结构进行访问,并且改变文档的结构、样式和内容。DOM将文档解析为一个由节点和对象(包含属性和方法的对象)组成的结构集合。

简言之,它将web页面和脚本或者程序语言连接起来

注意所有操作和创建的web页面的属性、方法和事件都会被组织成对象的形式

3 DOM和Javascript

(1)两者的关系:是两个独立的个体,但是Javascript可以访问和操作存储在DOM中的内容,也可以近似写成一个等式:

API(web或XML页面) = DOM+ JS(脚本语言)

(2)第一条中我说过两个是独立的个体,就说明两者不具有必定的捆绑关系,只是通过JS可以访问DOM树而已,因此例如Python也可以访问DOM

3 我对DOM的理解

DOM:


三 DOM接口

通过DOM接口可以访问到DOM中的一个个小节点,并且可以通过接口提供的许多属性和方法供节点使用

 

DOM中常用的核心接口以及关系阐述

上文提到接口会有对应的属性以及方法,不同接口也存在这不同的层级关系,因此接口也有方法和属性的继承,详细图标如下:

EventTarget<----- Node<-----Element<-----Document

1 Node接口&#xff1a;

Node&#xff0c;各种类型的DOM API对象会从这个接口继承。其允许我们用相似的方式对待这些不同类型的对象。eg&#xff1a;继承同一组方法&#xff0c;或者用同样的方式测试。

一下接口都从Node继承其方法和属性&#xff1a;

Dcument&#xff0c;Element&#xff0c;EventTarget等

2 Document接口&#xff1a;

Document接口表示任何在浏览器中载入的网页&#xff0c;并作为网页内容的入口&#xff0c;也就是DOM树。

3 Element接口&#xff1a;

Element是一个通用性非常强的基类&#xff0c;所有的Document对象下的对象都继承自它。

4EventTarget接口&#xff1a;

EventTarget接口由可以接收事件并且可以创建侦听器的对象实现。

Element以及子项、document和window是最常见的事件目标


四 总结

API是老大&#xff0c;是基于多种编程语言构建&#xff0c;是抽象了复杂的代码&#xff0c;帮助开发人员轻松实现各种功能的工具。API之下又分了很多小类&#xff0c;其中一项就是DOM API&#xff0c;它可以通过JS访问网页元素。同时DOM API提供了许多接口&#xff0c;接口又带有许多方法和属性&#xff0c;供修改网页的样式、内容和结构。

编写不易&#xff0c;如果对您有帮助&#xff0c;希望可以得到您的点赞支持。


推荐阅读
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 数据类型--char一、char1.1char占用2个字节char取值范围:【0~65535】char采用unicode编码方式char类型的字面量用单引号括起来char可以存储一 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文探讨了程序员这一职业的本质,认为他们是专注于问题解决的专业人士。文章深入分析了他们的日常工作状态、个人品质以及面对挑战时的态度,强调了编程不仅是一项技术活动,更是个人成长和精神修炼的过程。 ... [详细]
  • CSS Border 属性:solid 边框的使用详解
    本文详细介绍了如何在CSS中使用solid边框属性,包括其基本语法、应用场景及高级技巧,适合初学者和进阶用户参考。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 在日常生活中,支付宝已成为不可或缺的支付工具之一。本文将详细介绍如何通过支付宝实现免费提现,帮助用户更好地管理个人财务,避免不必要的手续费支出。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 本文介绍了如何通过命令行有效地终止所有 Node.js 进程实例,以解决因端口冲突或其他服务冲突导致的问题。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 回顾两年前春节期间的一个个人项目,该项目原本计划参加竞赛,但最终作为练习项目完成。独自完成了从编码到UI设计的全部工作,尽管代码量不大,但仍有一定的参考价值。本文将详细介绍该项目的背景、功能及技术实现。 ... [详细]
author-avatar
灬毋黑色灬_447
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有